export interface NovelInfo {
  title: string;
  author: string;
  cover?: string;
  description?: string;
  category?: string;
  wordCount?: string; // 字数，如"100.1万字"
  status: number; // 0: 连载中, 1: 已完结
  chapterList: ChapterInfo[];
}

export interface ChapterInfo {
  title: string;
  url: string;
  index: number;
}

export interface ChapterContent {
  title: string;
  content: string;
  index: number;
}

export interface ICrawler {
  getNovelInfo(url: string): Promise<NovelInfo>;
  getChapterContent(chapterUrl: string): Promise<ChapterContent>;
  getSource(): string;
  validateUrl(url: string): boolean;
}